<?php

namespace App\Controllers;

class Travel extends BaseController
{
    public function handle()
    {
        $places = new \App\Models\Places();
        helper(['form', 'url']);
        $record = $places->find($this->request->getPost('id'));

        if ($this->validate($places->validationRules)) {
            $places->save([
                'id' => $this->request->getPost('id'),
                'name' => $this->request->getPost('name'),
                'description' => $this->request->getPost('description'),
                'link' => $this->request->getPost('link'),
                'image' => $this->request->getPost('image'),
            ]);
        }
        $fields = [
            'title' => 'Edit a  Destination',
            'heading' => 'Edit a Destination',
            'footer' => 'Copyright xueyan'
        ];
        $parser = \Config\Services::parser();

        $returnView = $parser->setData($fields)
        ->render('templates\top');

        if(!$this->validate($places->validationRules)){
            $returnView .=$parser->renderString($this->validator->listErrors());
            $returnView .=$parser->setData($this->request->getPost())
            ->render('editplace');
        }else{
             $returnView .=$parser->renderString("<p>Success!</p>");
            $returnView .=$parser->setData($this->request->getPost())
            ->render('editplace');
        }
         $returnView .= $parser->setData($fields)
         ->render('templates\bottom');
return $returnView;

    }
    public function edit($id = NULL)
    {
        $places = new \App\Models\Places();
        $record = $places->find($id);

        $fields = [
            'title' => 'Edit a Destinations',
            'heading' => 'Edit a  Destinations',
            'footer' => 'Copyright xueyan',
        ];

        $parser = \Config\Services::parser();
        return $parser->setData($fields)->render('templates\top') . $parser->setData($record)->render('editplace'). $parser->setData($fields)->render('templates\bottom');
    }
    public function index()
    {
        $places = new \App\Models\Places();
        $records = $places->findAll();
        $table = new \CodeIgniter\View\Table();
        $headings = $places->fields;
        $displayHeadings = array_slice($headings, 1, 2);
        $table->setHeading(array_map('ucfirst', $displayHeadings));

        foreach ($records as $record) {
            $nameLink = anchor("travel/showme/$record->id", $record->name);
            $table->addRow($nameLink, $record->description);
        }
        $template = [
            'table_open' => '<table cellpadding="5px">',
            'cell_start' => '<td style="border:1px solid #dddddd">',
            'row_alt_start' => '<tr style="background-color: #dddddd">',
        ];
        $table->setTemplate($template);
        $fields = [
            'title' => 'Travel Destinations',
            'heading' => 'Travel Destinations',
            'footer' => 'Copyright xueyan',
        ];
        $parser = \Config\Services::parser();
        return $parser->setData($fields)->render('templates\top') . $table->generate() . $parser->setData($fields)->render('templates\bottom');

        //return $table->generate();
        //return $parser->setData(['records'=>$records])->render('placeslist');
    }
    public function showme($id)
    {
        $places = new \App\Models\Places();
        $record = $places->find($id);

        $table = new \CodeIgniter\View\Table();
        $headings = $places->fields;
        array_map('ucfirst', $headings);
        $template = [
            'table_open' => '<table cellpadding="5px">',
            'cell_start' => '<td style="border:1px solid #dddddd">',
            'row_alt_start' => '<tr style="background-color: #dddddd">',
            'heading_cell_start' => '<th style="background-color: #dddddd">',
            'heading_cell_end' => '<th style="background-color: #dddddd">',
        ];

        $table->setTemplate($template);

        $fields = [
            'title' => 'One Travel Destination',
            'heading' => 'Travel Destination',
            'footer' => 'Copyright xueyan',
        ];

        $parser = \Config\Services::parser();

        $table->addRow($headings[0], $record[$headings[0]]);
        $table->addRow($headings[1], $record[$headings[1]]);
        $table->addRow($headings[2], $record[$headings[2]]);
        $table->addRow($headings[3], $record[$headings[3]]);
        $table->addRow($headings[4], '<img src="/image/' . $record[$headings[4]] . '"/>');

        $editButton = '<a href="/travel/edit/' . $record['id'] . '" class="edit-btn">Edit</a>';
        $table->addRow('Action', $editButton);

        return $parser->setData($fields)->render('templates\top') . $table->generate() . $parser->setData($fields)->render('templates\bottom');
    }

}